A microcontroller is a system on a chip and comprises not only a central processing unit (CPU), but also memory, I/O ports, and a plurality of peripherals. A multi-processor core device, such as a multi-core microcontroller, comprises not only one CPU but two or more central processing cores. Such a device provides increased performance, improved security, and aiding software development. In embedded devices, these devices require to use a housing with a high number of pins to allow access to various peripherals.
Each processor may have its own dedicated memory. In a Harvard architecture, separate memories for program and data are provided wherein the program memory (ROM) is usually flash memory and the data memory is volatile random access memory (RAM). In multi-core microcontrollers designed by Applicant, a master and one or more slave processor cores are implemented. The slave processor usually comprises RAM for both the data and the program memory, wherein the program memory is loaded through the master core.